Wireless communication systems are currently undergoing a shift in technology, from the circuit switched technology in second generation systems like GSM to packet data switched systems in third generation and future communication systems. The change of technology is driven by the increasing demands on services other than voice communication, such as multimedia services and web browsing combined with requirements on efficient usage of the scarce radio recourses and increased flexibility. The packet data based communication technology exhibit vast possible improvements compared to circuit switch technology with regards to flexibility, possible throughput (bit rate) and the possibility to adapt to changing radio environment. A key functionality in any packet data based system is scheduling of the data packets, or Protocol Data Units (PDU). The scheduling mechanism, or scheduler, of a sending entity may for example maintain a plurality of data buffers, at least one buffer for each other entity with which the sending entity communicates. In practise, the multiple (logical) buffers may implement as one (physical) buffer together with pointers or alternatively searching the physical buffer. The data packets being fed to the sending entity, for example from a core network, are stored in respective buffer and the scheduling function ensures that the other entities are provided with their respective data packets in a manner that for example take into account the capability of the bearer, bandwidth requirements of different applications, QoS demands etc. It can be noted that in traditional scheduling, retransmissions through ARQ (to be described in greater detail below) is generally only weakly and indirectly connected to the scheduling functionality. For example, a scheduler may consider the remaining time to live for a packet (if such is defined) as an input. As a PDU is retransmitted one or more times, time elapses, and the time to live value for the PDU diminishes, thereby implicitly affecting its priority in the scheduling process.
In the development of packet data based services for cellular wireless systems, considerable attention has been given to provide a flexible yet optimized scheduling functionality. The new transport channel, High Speed Downlink Shared Channel (HS-DSCH) in release five of the UMTS specification (see http://www.umtsworld.com) introduce new radio interface functionalities such as fast channel-dependent scheduling, fast link adaptation and a fast automatic repeat request (ARQ) protocol. The scheduler in the sending entity, here often referred to as Node-B, organize the sequence in which user data (data packets) buffered in Node-B are transmitted to the different other entities, for example User Equipments UEs. User data scheduled for transmission to an individual UE are taken from the corresponding UE's buffer in Node-B and inserted in transport blocks. The scheduler decides the transport block to be transmitted, the timeslot (or code) to use for the transmission and the UE for which the transport block is intended. A transport block will have varying lengths depending on the amount of data, but are transmitted in a time slot of fixed duration, typically 2 ms. The transport blocks are typically individual for each intended UE, however they may be concurrently transmitted if code multiplexing is utilized.
Multihop and Ad-Hoc networks represent a different approach in providing communication systems and has recently drawn considerable interest. In this type of networks, a plurality and preferably all mobile nodes, for example a cellular phone/mobile terminal, a PDA or a Laptop, are capable of operating as router (mobile host) for other mobile nodes. The need for a fixed infrastructure is thus eliminated, though access to a fixed network, such as Internet, is a good complement to a fully ad hoc operation. Accordingly, data packets being sent from a source mobile node to a destination mobile node is typically routed through a number of intermediate mobile nodes (multi-hopping) before reaching the destination mobile node. An Ad hoc network is typically completely self-organising in that the routing paths (hopping sequence) are not predetermined in any way, although elaborate optimization routines may be used to find the best paths. Future and researched Ad hoc networks is envisioned to use multihopping. Multihop networks on the other hand may have some predetermined preferred hopping schemes, i.e. a multihop networks is not necessarily an ad hoc network. However, in the following the term Multihop network is used, and should be interpreted, as any network utilizing multihop in the communication, i.e. including ad hoc networks. A comprehensive description of multihop networks are given in “Wireless ad hoc networking—The art of networking without a network”, by M. Frodigh et al, Ericsson Review, pp 248-263 (4) 2000.
The nodes in the network typically keeps a preferably recently updated routing table, specifying mobile nodes which the present node is able to send a data packet to. In a multihop network, using data packet routing or similar, the following procedure is performed for each packet being routed: When a node receives a packet, it checks its routing table for the next hop node leading the data packet towards destination. If the receiving node does not have any next hop node, and is not the destination, then routing table state is inconsistent in the multihop network. To update the state, the receiving node may e.g. initiate a route search to the destination, wait until the state is updated automatically (may be performed on a regular basis), or simply respond to the previous station that it does not have a correctly operating route, and said previous station may try another route. The latter case does however not really solve the full problem, but slightly alleviates it. The process continues until the data packet eventually reaches the destination node. Alternatively, no routing lists are kept in the mobile nodes and the routing paths are established per session. The scheduler of a sending entity in a multihop network organize the transmission of data packets, and in doing so considers at least, which packets reside in the queue, information contained in the routing lists, when to transmit, and preferably also with regards to other transmission factors such as the capacity of the bearer and the current radio environment.
The routing procedures and updating of routing lists can be performed in a great variety of ways, and many are reported in the art. Recently novel multihop forwarding schemes, exploiting inherent radio channel characteristics, have been proposed. The schemes Selection Diversity Forwarding (SDF) and Multiuser Diversity Forwarding (MDF) as described in “Multiuser Diversity Forwarding in Multihop Packet Radio Networks”, by P. Larsson and N. Johansson, Proceedings of IEEE WCNC 2005, New Orleans, March 2005, can be seen as providing opportunistic scheduling in that radio channel variations are investigated to instantaneously chose the best route and/or adapt the transmission rate.
Automatic repeat request (ARQ) is, as mentioned above, proposed to be used for the communication over the air interface in cellular wireless communication systems. ARQ could also be used in multihop systems. The data is, prior to the transmission, typically divided into smaller packets, protocol data units (PDU). A reliable transfer is enabled by encoding packets with an error detecting code, such that the receiver can detect erroneous or lost packets and thereby request a retransmission. The data sequence integrity is normally accomplished by sequential numbering of packets and applying certain transmission rules.
In the most simple form of ARQ, commonly referred to as Stop-and-Wait ARQ, the sender of data stores each sent data packet and waits for an acknowledgement from the receiver of a correctly received data packet, by the way of a acknowledgement message (ACK). When the ACK is received, the sender discards the stored packet and sends the next packet. The process is typically supplemented with timers and the use of negative acknowledgement messages (NACK). The sending entity uses a timer, which is started on the transmission of a data packet, and if no ACK (or NACK) has been received before the timer expires, the data packet is retransmitted. If the receiver detects errors in the packet, it can send a NACK to sender. Upon receiving the NACK, the sender retransmits the data packet without waiting for the timer to expire. If the ACK or NACK message is lost, the timer will eventually expire and the sender will retransmit the data packet.
ARQ has been addressed in the art in several different aspects. From the simple Stop-and-Wait, more elaborated schemes of the conventional ARQ has been developed, for example Go-Back-N and Selective Reject (or Selective Repeat), which provides a higher throughput. Taught in WO 02/09342 by Dahlman et al. is an ARQ scheme that adds flexibility to the traditional ARQ scheme by introducing ARQ parameters that are set and/or negotiated to give a desired trade-off with respect to communication resources.
In another line of development of the ARQ, the redundancy in the coding is exploited in various ways to enhance communication performance (generally measured as throughput). These schemes are referred to as Hybrid ARQ schemes. A combination of coding and ARQ, the hybrid ARQ schemes, can give a certain adaptation to changes in the radio environment, e.g. to fading. In Hybrid 1 ARQ, Forward Error Correction (FEC) is combined with ARQ. In Hybrid 2 ARQ, a PDU is sent more or less (FEC) encoded, but accompanied with a Cyclic Redundancy Check (CRC) for checking presence of bit errors after decoding and if retransmission is requested, parity bits (also known as redundancy bits) generated by a FEC coder, systematic bits, or a combination of both is sent. When parity bits are used together with previously received bits, representing the same data packet, this is often called incremental redundancy based Hybrid 2 ARQ. This sequence of parity bits may in some Hybrid 2 ARQ schemes be decodable itself, and/or enhance decoding of the previously received incorrectly decoded PDU. When systematic bits are used together with previously received bits, representing the same data packet, this is often called chase combining based Hybrid 2 ARQ. A version of Hybrid 2 ARQ is used in UMTS.
WO0249292 addresses some problems of utilizing Hybrid ARQ in UMTS systems, particularly in connection to scheduling and buffering. The scheduling is simplified and the buffer size is reduced by introducing a flow control mechanism between the Radio Network Controller (RNC) and node-B.
Schemes have been proposed, for example in WO 02052771, to optimize required bandwidth and to solve conflicting demands from UEs by improved scheduling in the base stations. Also channel conditions are regarded in the scheduling.
The prior art schemes of encoding and scheduling represent significant improvements with regards to overall throughput and flexibility. However, the increasing demands of higher throughput, coverage and flexibility cannot be met by the teachings of the prior art alone.